1. Field of the Invention
This invention relates to an embedded diagnostic system and method for use in computer based systems having repetitive or redundant subsystems.
2. Description of the Related Art
Modern electronic systems such as aircraft avionics systems can have numerous electrical and electronic subsystems used for communications, navigation, aircraft control, remote sensing, power distribution, life support, electronic warfare, various sensors, etc. As the complexity of these systems increases the number of potential faults generally increases. Also, the relationship between the various subsystems and a fault signal are increasingly complex, making it more difficult to determine the actual cause of the fault signal. As a result, modern diagnostic systems can require significant analysis to isolate the cause of a fault signal.
Real time embedded diagnostic software systems have been developed to detect and isolate faults in computer based systems (xe2x80x9chost systemsxe2x80x9d) during operation. The host systems have a central or maintenance computer which has the memory to store the diagnostic software, and a processor to conduct the system diagnostics. The central computer accepts fault signals from the various sub-systems and executes the diagnostic software to make a determination as to the likely cause of the fault. However, as the complexity of modern systems increases the complexity of the diagnostic software has also increased and can require a prohibitive amount or memory and/or computer processor throughput. To meet these limitations, system developers are often required to scale back the scope or depth of the diagnostic software system.
One common approach to real time embedded diagnostics is to develop a causal network model based on the behavioral characteristics of the various sub-systems comprising the overall host system. [Darwiche, A. 1998. Model-based Diagnosis Using Structured System Descriptions. J. of AI Research, 8:165-222, June 1998]. A causal network model provides a ranked set of diagnoses for the particular host system, given the inputs and outputs of the various sub-systems, line replaceable units (LRUs), sensors, or other components. In operation, the causal network, along with a causal network inference code, are loaded into the memory within the system""s central computer. The central computer accepts inputs from the systems that may indicate a fault, and uses the inputs in conjunction with the causal network to compute the probability distributions in relation to fault variables. The causal network is then interrogated using an inference code, and a likely cause of the fault is generated. All of these steps are completed while the host system is operating. One disadvantage with this approach is that the causal network and inference code consume a large amount of memory and require substantial processor throughput to enable inference to be done quickly, especially for real-world diagnostic systems (e.g. networks that could self-diagnose a reasonable number of faults in a system). Depending on the system, there may not be sufficient memory or throughput to implement this process.
To overcome these difficulties a more flexible approach was devised for implementing the causal network approach using query directed acyclic graphs (Q-DAGs). In causal networks, most of the work performed by the standard algorithms are independent of the specific evidence gathered about the fault variables. That is, there is generally no difference between algorithmic runs with different values for the variables, and the algorithm will not branch differently on any of the key decisions that it makes. Therefore, a standard inference algorithm can be applied to a causal network with variables being parameters instead of specific values. The result returned by the algorithm is a Q-DAG which is an arithmetic or logical expression with some parameters that depend on specific evidence. [See Darwiche A. supra., and Adnan Darwiche, Gregory M. Provan: Query DAGS: A Practical Paradigm for Implementing Belief-Network Inference. J. of AI Research 6:147-176, 1997].
One of the advantages of this approach is that the Q-DAG is typically compiled off-line using a given causal network, a set of variables about which evidence may be collected (evidence variables), and a set of variables for computing probability distributions (query variables). The Q-DAG and an evaluator specific to the host system are stored in the host system memory and are used to evaluate detected faults on-line; i.e. during operation of the host system. Given evidence regarding system faults, the Q-DAG is evaluated using simple arithmetic or logical operations rather than a complicated causal network inference. This approach reduces the memory requirements and the computational work needed to perform this on-line diagnostic evaluation, and is easily implemented in different software and hardware platforms.
In conventional diagnostic systems a diagnostic program for the entire host system must be generated and stored in memory. In systems using Q-DAG based diagnostics, a Q-DAG for the entire system is compiled off line and stored in the host system processor memory along with its inference algorithm.
Despite these improvements in memory and throughput requirements, the Q-DAG approach can still consume prohibitive amounts of memory and processor throughput. For example, some modern commercial aircraft have complex passenger entertainment systems with numerous sub-systems and components. Often, the computer responsible for running the diagnostic system for the entertainment system is also dedicated to performing other tasks that utilize nearly all of its throughput and memory. Accordingly, there is little throughput or memory that can be devoted to the diagnostic system. In other systems, the computer running the diagnostics is simply not powerful enough to adequately store and perform diagnostics using Q-DAGs.
Despite these limitations, many host systems still require embedded, real-time diagnostic systems for quick and efficient real time fault detection and isolation. This is particularly true for commercial aircraft that are generally under strict turnaround requirements for aircraft repair.
The present invention provides a new embedded real time Q-DAG based diagnostic system which uses minimal memory and processor throughput while still providing full system diagnostics. The invention is applicable to fault detection and isolation in host systems having redundant or repetitive subsystems. Using the present invention in host systems having repetitive architecture, the stored Q-DAG need only represent a single instance of each portion of a system in which that portion occurs repeatedly. In addition, algorithms relating to how the different repetitive subsystems are connected are generated and stored with the Q-DAGs.
For example, if the architecture can be divided into four identical and repetitive subsystems, only one Q-DAG representing one of the four subsystems needs to be compiled and stored in memory within the host system. If a fault is detected in the first subsystem, the stored Q-DAG can be interrogated to determine the likely cause of the fault. If a fault is detected in one of the other subsystems, the necessary number of Q-DAGs are replicated using a replicating program that is also stored in memory within the host system. If a fault is detected at the third repetitive section, two additional Q-DAGS are replicated from the stored Q-DAG. The diagnostic system will then have sufficient Q-DAGs to determine the likely cause of the detected fault. Only the necessary number of Q-DAGs are replicated to diagnose the particular fault, which also results in a reduction in the required processor throughput during fault diagnosis.
Another important feature of this invention is the connectivity algorithm which dictates how the each of the Q-DAGs are connected or exchange information after they are replicated. The connection between the third and second Q-DAG can be different from the connections between the first and second Q-DAGs. The connectivity information can take the form of a matrix which dictates how the individual subsystem Q-DAGs are connected, once they are replicated. In addition, each Q-DAG will have a data table that includes information on how different nodes of the Q-DAG are connected. The ability to replicate the stored Q-DAG plus the connectivity algorithm allows the host system computer to construct a Q-DAG for fault isolation of the entire host system.
The invention can be used in any host system having a central computer that relies on various inputs for fault diagnostics. It is particularly applicable to passenger entertainment systems on modern commercial aircraft such as the Boeing 747 and Boeing 777 by Boeing Company, which have a highly repetitive architecture and a maintenance computer with limited memory and throughput available for diagnostics. This on-line diagnosis allows for repair of host systems that are under strict turnaround repair requirements. In commercial aircraft, the systems often must be repaired while the aircraft is docked at a terminal. Using the new diagnostic system, if a fault is detected on one of the sub-systems, the embedded diagnostic system can isolate the likely faulty subsystem while the aircraft is in operation. Often the faulty subsystem can be repaired or replaced while the aircraft is in operation. In other cases the diagnostic system can be interrogated and the faulty subsystem can be quickly replaced, when the aircraft lands.
These and other further features and advantages of the invention will be apparent to those skilled in the art from the following detailed description, taken together with the accompanying drawings, in which: